每個Vue.js 所撰寫出的Web application最基本都會有一個主要的Vue Instance
然後透過Vue Instance的選項把instance內部元件給render到對應的DOM上面
Vue Instance可以想像是一個Javascript的Object
裡面透過data屬性存放物件
使用 Vue Constructor 建立 Vue Instance, vm,(ViewModel的縮寫)
const vm = new Vue({
//options
});
ViewModel 為使用 MVVM的架構用來當作View資料來源
MVVM的概念好處是真正的分離了過往MVC裡面View跟Controller之間的相依性
MVVM裡面ViewModel透過ObserverPattern的方式做到把修改notify到view
vue Instance with build with object
在實體化時,可傳入一個選項物件,此物件包含掛載點 (el)、資料 (data)、方法 (methods) 等。
const vm = new Vue({
el: '#app',
data: {
message: 'Hello World'
}
});
Notice 綁定的位置不能是body或html上
擴充 vue constructor 來建立元件
let Component = Vue.extends({
data: function() {
return {
msg: 'Hello World2'
}
}
});
let cp = new Component();
感謝分享
補充 new Vue() 是 Vue 2 語法,
Vue 3 用 Vue.createApp() 取代 new Vue()
https://book.vue.tw/appendix/migration.html#%E5%85%83%E4%BB%B6%E5%AF%A6%E9%AB%94%E5%BB%BA%E7%AB%8B
Vue 2 support will end on Dec 31, 2023. Learn more about Vue 2 Extended LTS.
The Benefits of the New Vue 3 App Initialization Code
感謝分享